package com.qf.service;

import org.springframework.web.bind.annotation.*;

import java.util.Map;
import java.util.Set;

/**
 * author:z
 * time:2021/12/28 17:23
 * description:
 */
public interface CacheService {

    //存储key, value结构到redis中
    public boolean saveObject(String key, Object value);

    //根据key到redis中获取value值
    public String get(String key);

    public Object getObject(String key);

    public boolean del(String[] keys);

    public boolean hMSet(String key, Map map);

    public Map hMGet(String key);

    public boolean set(String key, String value, Long expireSecond);

    public Long incr(String key, long delta);

    //根据key和field查询hash结构中的一个value
    public Object hget(String key, String field);

    //向set结构添加数据
    public boolean sadd(String key, String... set);

    //查询set结构中的全部数据
    public Set<String> smembers(String key);

    //zset结构的根据分数查询数据
    public Set<Object> zRangeByScore(String key, Long min, Long max);

    //向set结构添加Object数据
    public boolean saddObject(String key, Set<Map> set);

    //对hash结构的某一个field进行incr操作
    public Long hincr(String key, String field, Long delta);

    //保存key-value到redis的String结构中
    boolean save(String key, String value);

    //获取key
    public Set<String> keys(String key);

}
